package org.dromara.iot.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.iot.domain.IotDeviceInfo;

import java.io.Serial;
import java.io.Serializable;


/**
 * 设备基础信息视图对象 iot_device_info
 *
 * @author Luo
 * @date 2025-07-20
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = IotDeviceInfo.class)
public class IotDeviceInfoVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 设备ID
     */
    @ExcelProperty(value = "设备ID")
    private Long id;

    /**
     * 设备唯一标识(Device Number)
     */
    @ExcelProperty(value = "设备唯一标识(Device Number)")
    private String dn;

    /**
     * 设备序列号
     */
    @ExcelProperty(value = "设备序列号")
    private String serialNo;

    /**
     * 设备名称/别名
     */
    @ExcelProperty(value = "设备名称/别名")
    private String name;

    /**
     * 设备状态(0:未激活,1:在线,2:离线,3:禁用)
     */
    @ExcelProperty(value = "设备状态(0:未激活,1:在线,2:离线,3:禁用)", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "iot_device_status")
    private Long state;

    /**
     * 备注信息
     */
    @ExcelProperty(value = "备注信息")
    private String remark;


}
